Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Mappare Tastiera
Forum - C# / VB.NET - [VB.NET] Mappare Tastiera

Avatar
VOR73X (Normal User)
Newbie


Messaggi: 5
Iscritto: 24/10/2013

Segnala al moderatore
Postato alle 15:12
Lunedì, 04/11/2013
Esiste qualche Api in grado di restituirmi a cosa corrisponde una determinata combinazione di tasti?

Esempio:
SHIFT + 1 = !
SHIFT + 2 = $

CTRL+ALT+ò = @

ecc..

Grazie in anticipo :(

PM Quote
Avatar
danduz97 (Normal User)
Pro


Messaggi: 130
Iscritto: 13/03/2011

Segnala al moderatore
Postato alle 1:21
Martedì, 12/11/2013
in che senso restituirmi a cosa corrisponde una determinata combinazione di tasti?

Prova a dare un'occhiata all'evento KeyDown, che riconosce i tasti digitati dalla tastiera

http://msdn.microsoft.com/it-it/library/system.windows.for ...

http://www.youtube.com/watch?v=I0lyWfGI7ZM

Ciao!

PM Quote
Avatar
VOR73X (Normal User)
Newbie


Messaggi: 5
Iscritto: 24/10/2013

Segnala al moderatore
Postato alle 9:54
Martedì, 12/11/2013
Ciao grazie della risposta, quello che intendo io, non è intercettare la pressione dei tasti, ma sapere a cosa corrisponde un combinazioni di tasti, nel senso, io in un textbox inserisco la scritta "SHIFT+4" il programma dovrebbe restituirmi il carattere corrispondete a quella combinazione, quindi in questo caso avrei "$".

Ps. Ho bisogno di creare un mappa di tutte le combinazioni di possibili in una tastiera, dato che ogni lingua a il suo set di caratteri.

PM Quote
Avatar
danduz97 (Normal User)
Pro


Messaggi: 130
Iscritto: 13/03/2011

Segnala al moderatore
Postato alle 0:07
Mercoledì, 13/11/2013
Non capisco bene se vuoi creare un form che ti permette di scrivere con i cosiddetti "Alt-Codes"
a questo punto ti basta inserire nel form il componente RichTextBox

o se vuoi conoscere a quale codice di battitura corrisponde un simbolo, se ti serve ciò esiste un programma già integrato in windows chiamato "Mappa Caratteri" se non lo trovi fai start -> esegui -> charmap.exe

e una volta selezionato il codice desiderato in basso a destra dovrebbe comparire il codice di battitura (Alt + ...)

in allegato trovi una schermata che può esserti di aiuto  :)


se non dovessi riuscirci in rete ci sono moltissimi siti che espongono appunto questi codici, ne cito due:

http://www.alt-codes.net/
http://msdn.microsoft.com/it-IT/goglobal/bb964656.aspx


Ciao!


danduz97 ha allegato un file: charmap.JPG (72991 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
VOR73X (Normal User)
Newbie


Messaggi: 5
Iscritto: 24/10/2013

Segnala al moderatore
Postato alle 14:43
Mercoledì, 13/11/2013
Sei veramente gentilissimo ma il mio problema è un po complicato.. ho capito quello che tu intenti, ma non è quello che io intendo, ti faccio un esempio

In questo frammento di codice creo le varie combinazioni possibili con il Tasto SHIFT
Codice sorgente - presumibilmente VB.NET

  1. Dim Combinazioni as new list(of string)
  2. For A as integer = 0 to [Enum].GetValues(GetType(Keys)).Length - 1
  3.    Combinazioni.add("SHIFT+" & [Enum].GetValues(GetType(Keys)).GetValue(A))
  4. Next



Ora a me serve interpretare le combinazioni nella lista Combinazioni e associarvi il suo corrisponde.

Esempio:
Codice sorgente - presumibilmente VB.NET

  1. Dim Results as string
  2.  
  3. If Combinazioni(0) = "SHIFT+1" Then
  4.    Results = Combinazioni(0) &  "!"
  5. End if
  6. If Combinazioni(2) = "SHIFT+3" Then
  7.    Results = Combinazioni(2) & "£"
  8. End if
  9. If Combinazioni(3) = "SHIFT+4" Then
  10.    Results = Combinazioni(3) & "$"
  11. End if
  12. ecc...



Il problema è che dovrei fare questa porzione di codice per ogni combinazioni possibile, in piu le combinazioni cambiano d'accordo alla lingua della tastiera usata

Esempio: SHIFT+2 in italia corrisponde a " mentre in America corrisponde a @


Non chiedo che mi risolviate l'intero problema, mi basterebbe l'input iniziale

Grazie ancora 8-|

Ultima modifica effettuata da VOR73X il 13/11/2013 alle 14:45
PM Quote